package com.yungu.swift.order.model.vo;


import com.yungu.swift.base.model.BaseVo;
import com.yungu.swift.lbs.model.DriverLocation;
import com.yungu.swift.lbs.model.OrderEventPoint;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * @author Zerrion
 * @version 1.0
 * @description 监控地图使用的今日订单列表
 * @date 2017/10/20 13:41
 */
public class AdminMapTodayOrderVo extends BaseVo {

    @ApiModelProperty(value = "订单uuid")
    private String orderUuid;

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "乘客信息")
    private String passengerInformation;

    @ApiModelProperty(value = "订单状态")
    private String status;

    @ApiModelProperty(value = "状态")
    private String statusName;

    @ApiModelProperty(value = "订单主状态")
    private String mainStatus;

    @ApiModelProperty(value = "订单子状态")
    private String subStatus;

    @ApiModelProperty(value = "出发时间")
    private Date departTime;

    @ApiModelProperty(value = "起点")
    private String originAddress;

    @ApiModelProperty(value = "终点")
    private String destAddress;

    @ApiModelProperty(value = "司机信息")
    private String driverInformation;

    @ApiModelProperty(value = "预估金额")
    private BigDecimal planFare;

    @ApiModelProperty(value = "订单总费用（司机收入=各费用之和*高峰溢价率+附加服务费等+（后台）调整价格）")
    private BigDecimal totalFare;

    @ApiModelProperty(value = "实际金额")
    private BigDecimal actualFare;

    @ApiModelProperty(value = "预估时长")
    private BigDecimal planDuration;

    @ApiModelProperty(value = "实际时长")
    private BigDecimal tripDuration;

    @ApiModelProperty(value = "起点具体地址")
    private String originDetailAddress;

    @ApiModelProperty(value = "实际里程")
    private BigDecimal tripDistance;

    @ApiModelProperty(value = "预估里程")
    private BigDecimal planTrip;

    @ApiModelProperty(value = "取消原因")
    private String cancelReason;

    @ApiModelProperty(value = "取消时间")
    private Date cancelTime;

    @ApiModelProperty(value = "起点经度")
    private BigDecimal originLng;

    @ApiModelProperty(value = "起点纬度")
    private BigDecimal originLat;

    @ApiModelProperty(value = "订单时效类型（1：实时，2：预约）")
    private Integer typeTime;

    @ApiModelProperty(value = "订单行程类型（1：用车，2：日租，3：半日租，4：送机，5：接机）")
    private Integer typeTrip;

    @ApiModelProperty(value = "订单全状态")
    private List<OrderEventPoint> orderEventPointList;

    @ApiModelProperty(value = "实际出发位置")
    private String originAddressName;

    @ApiModelProperty(value = "订单全部的点")
    private List<DriverLocation> orderPointList;

    @ApiModelProperty(value = "当前到达位置")
    private String destAddressName;

    @ApiModelProperty(value = "订单模块类型（1：出租车，2：专车，3：拼车，4：快车，5：小件）")
    private Integer typeModule;

    @ApiModelProperty(value = "拼车业务状态：100提交（待支付）、200预约中（已支付）、300预约成功（待安排）、400已安排（待出发）、500行程开始、600行程结束（已完成）", example = "0")
    private Integer joinStatus;

    @ApiModelProperty(value = "订单关闭状态（0正常/已完成 1关闭）", example = "0")
    private Integer closeStatus;

    @ApiModelProperty(value = "支付时间", example = "0")
    private Date payTime;

    public Integer getTypeModule() {
        return typeModule;
    }

    public void setTypeModule(Integer typeModule) {
        this.typeModule = typeModule;
    }

    public Integer getJoinStatus() {
        return joinStatus;
    }

    public void setJoinStatus(Integer joinStatus) {
        this.joinStatus = joinStatus;
    }

    public Integer getCloseStatus() {
        return closeStatus;
    }

    public void setCloseStatus(Integer closeStatus) {
        this.closeStatus = closeStatus;
    }

    public String getDestAddressName() {
        return destAddressName;
    }

    public void setDestAddressName(String destAddressName) {
        this.destAddressName = destAddressName;
    }

    public List<DriverLocation> getOrderPointList() {
        return orderPointList;
    }

    public void setOrderPointList(List<DriverLocation> orderPointList) {
        this.orderPointList = orderPointList;
    }

    public String getOriginAddressName() {
        return originAddressName;
    }

    public void setOriginAddressName(String originAddressName) {
        this.originAddressName = originAddressName;
    }

    public Integer getTypeTime() {
        return typeTime;
    }

    public void setTypeTime(Integer typeTime) {
        this.typeTime = typeTime;
    }

    public Integer getTypeTrip() {
        return typeTrip;
    }

    public void setTypeTrip(Integer typeTrip) {
        this.typeTrip = typeTrip;
    }

    public BigDecimal getTripDistance() {
        return tripDistance;
    }

    public void setTripDistance(BigDecimal tripDistance) {
        this.tripDistance = tripDistance;
    }

    public BigDecimal getPlanTrip() {
        return planTrip;
    }

    public void setPlanTrip(BigDecimal planTrip) {
        this.planTrip = planTrip;
    }

    public String getCancelReason() {
        return cancelReason;
    }

    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }

    public Date getCancelTime() {
        return cancelTime;
    }

    public void setCancelTime(Date cancelTime) {
        this.cancelTime = cancelTime;
    }

    public BigDecimal getOriginLng() {
        return originLng;
    }

    public void setOriginLng(BigDecimal originLng) {
        this.originLng = originLng;
    }

    public BigDecimal getOriginLat() {
        return originLat;
    }

    public void setOriginLat(BigDecimal originLat) {
        this.originLat = originLat;
    }

    public String getOriginDetailAddress() {
        return originDetailAddress;
    }

    public void setOriginDetailAddress(String originDetailAddress) {
        this.originDetailAddress = originDetailAddress;
    }

    public BigDecimal getPlanFare() {
        return planFare;
    }

    public void setPlanFare(BigDecimal planFare) {
        this.planFare = planFare;
    }

    public BigDecimal getActualFare() {
        return actualFare;
    }

    public void setActualFare(BigDecimal actualFare) {
        this.actualFare = actualFare;
    }

    public BigDecimal getPlanDuration() {
        return planDuration;
    }

    public void setPlanDuration(BigDecimal planDuration) {
        this.planDuration = planDuration;
    }

    public BigDecimal getTripDuration() {
        return tripDuration;
    }

    public void setTripDuration(BigDecimal tripDuration) {
        this.tripDuration = tripDuration;
    }

    public String getOrderUuid() {
        return orderUuid;
    }

    public void setOrderUuid(String orderUuid) {
        this.orderUuid = orderUuid;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getPassengerInformation() {
        return passengerInformation;
    }

    public void setPassengerInformation(String passengerInformation) {
        this.passengerInformation = passengerInformation;
    }

    public String getMainStatus() {
        return mainStatus;
    }

    public void setMainStatus(String mainStatus) {
        this.mainStatus = mainStatus;
    }

    public String getSubStatus() {
        return subStatus;
    }

    public void setSubStatus(String subStatus) {
        this.subStatus = subStatus;
    }

    public Date getDepartTime() {
        return departTime;
    }

    public void setDepartTime(Date departTime) {
        this.departTime = departTime;
    }

    public String getOriginAddress() {
        return originAddress;
    }

    public void setOriginAddress(String originAddress) {
        this.originAddress = originAddress;
    }

    public String getDestAddress() {
        return destAddress;
    }

    public void setDestAddress(String destAddress) {
        this.destAddress = destAddress;
    }

    public String getDriverInformation() {
        return driverInformation;
    }

    public void setDriverInformation(String driverInformation) {
        this.driverInformation = driverInformation;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public List<OrderEventPoint> getOrderEventPointList() {
        return orderEventPointList;
    }

    public void setOrderEventPointList(List<OrderEventPoint> orderEventPointList) {
        this.orderEventPointList = orderEventPointList;
    }

    public BigDecimal getTotalFare() {
        return totalFare;
    }

    public void setTotalFare(BigDecimal totalFare) {
        this.totalFare = totalFare;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }
}
